在 Elixir 中,運算被視為一系列 基礎轉換。資料是不可變的,而 = 運算子並非用於賦值,而是用於 模式匹配。
1. 模式匹配運算子
模式匹配允許您將值綁定到模式。如果左側結構與右側不相符,轉換就會失敗。Elixir 使用專用運算子來處理資料流:算術運算(+、 -、 *、 /),比較運算(===、 !==、 >=),以及串接運算(<> 用於字串, ++ 用於列表)。
2. 'with' 表達式
這個 with 表達式會協調多步驟的轉換,其成功取決於條件。它允許使用 <-來串接匹配。與模式匹配運算子 =不同的是,若在 <- 中匹配失敗,該表達式不會拋出錯誤,而是返回未匹配的值。
3. 範圍與語法
底層上, with 被視為巨集或函數呼叫。其中綁定的變數不會洩漏到外部範圍。例如語法 mean = with count = ..., do: sum/count 是以表達式為基礎計算衍生值的方式。
$$\text{平均值} = \frac{\sum_{i=1}^{n} x_i}{n}$$
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>